Smart test data generators via logic programming
نویسنده
چکیده
We present a novel counterexample generator for the interactive theorem prover Isabelle based on a compiler that synthesizes test data generators for functional programming languages (e.g. Standard ML, OCaml) from specifications in Isabelle. In contrast to naive type-based test data generators, the smart generators take the preconditions into account and only generate tests that fulfill the preconditions. The smart generators are constructed by a compiler that reformulates the preconditions as logic programs and analyzes them by an enriched mode inference. From this inference, the compiler can construct the desired generators in the functional programming language. These test data generators are applied to find errors in specifications, as we show in a case study of a hotel key card system. 1998 ACM Subject Classification D.2.5 Testing and Debugging
منابع مشابه
Smart Testing of Functional Programs in Isabelle
We present a novel counterexample generator for the interactive theorem prover Isabelle based on a compiler that synthesizes test data generators for functional programming languages (e.g. ML, Haskell) from specifications in Isabelle. In contrast to naive type-based test data generators, the smart generators take the preconditions into account and only generate tests that fulfill the preconditi...
متن کاملEfficient generation of test data structures using constraint logic programming and program transformation
The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all test cases satisfying a given invariant, within a given size bound. When the test cases have a complex structure, the development of correct and efficient generators becomes a very challenging task. In this paper we use Constraint Logic Programming (CLP) to systematically develop generators of structurally complex t...
متن کاملGeneration of Test Data Structures Using Constraint Logic Programming
The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all the test cases satisfying a given invariant, within a given bound. When the input has a complex structure, the development of correct and efficient generators becomes a very challenging task. In this paper we use Constraint Logic Programming (CLP) to systematically develop generators of structurally complex test dat...
متن کاملProperty-Based Testing via Proof Reconstruction: Work-in-progress
Property-based testing is a technique for validating code against an executable specification by automatically generating test-data. From its original use in programming languages, this technique has now spread to most major proof assistants to complement theorem proving with a preliminary phase of conjecture testing. We present a proof theoretical reconstruction of this style of testing for re...
متن کاملFlexible Scheduling of Active Distribution Networks for Market Participation with Considering DGs Availability
The availability of sufficient and economic online capacity to support the network while encountering disturbances and failures leading to supply and demand imbalance has a crucial role in today distribution networks with high share of Distributed Energy Resources (DERs), especially Renewable Energy Resources (RESs). This paper proposes a two-stage decision making framework for the Distribution...
متن کامل